图片显示系统设计 [小脚丫STEP开源社区]

您所在的位置:网站首页 st7735s驱动 STC 图片显示系统设计 [小脚丫STEP开源社区]

图片显示系统设计 [小脚丫STEP开源社区]

#图片显示系统设计 [小脚丫STEP开源社区]| 来源: 网络整理| 查看: 265

图片显示系统设计 实验任务 任务:基于 STEP-MAX10M08核心板 和 STEP BaseBoard V3.0底板 完成图片显示系统设计并观察调试结果 要求:将小脚丫的Logo转换成单色图片数据,驱动底板上1.8寸彩色液晶屏显示出来 解析:将单色图片的数据存储到rom中,驱动1.8寸将图片刷到液晶屏上。 实验目的

扩展板卡上集成了1.8寸彩色液晶屏TFT_LCD模块,大家可以驱动LCD显示文字、图片或动态的波形。本实验主要学习1.8寸串行彩色液晶屏的驱动设计,然后将小脚丫Logo处理显示,完成图片显示系统的总体设计。

了解1.8寸串行采样液晶屏的原理及驱动设计 完成图片显示系统设计实现 设计框图

根据前面的实验解析我们可以得知,该设计可以拆分成两个功能模块实现,

LCD_RGB:1.8寸串行液晶屏驱动模块 LCD_RAM:用于存储单色图片数据。

实验原理 液晶屏介绍

查看底板上集成的1.8寸串行彩色液晶屏规格书,屏幕采用ST7735S的驱动芯片,接下来我们主要根据ST7735S的芯片手册来了解其工作原理和驱动方法。

ST7735S为132RGB x 162像素点 262K 控制器/驱动器,芯片可以直接跟外部处理器连接,支持串行SPI通信和8/9/16/18位并行通信(本液晶屏集成ST7735S时没有留并行接口,所以只能使用串行通信),详细参数请参考数据手册。

ST7735S支持不同位宽的并行通信格式。

在控制器给屏幕刷屏时,根据MV、MX、MY的配置支持8种不同方向的刷屏模式。

支持大量功能指令,部分系统功能指令列表如下

更多的内容这里就不一一介绍了,感兴趣的同学可以详细阅读ST7735S芯片手册。

液晶屏硬件连接

STEP BaseBoard V3.0底板上的1.8寸串行彩色液晶屏模块电路,其电路图如下:

底板上的1.8寸串行彩色液晶屏电路和VGA显示电路复用部分FPGA管脚,两者不能同时使用,当使用1.8寸串行彩色液晶屏时,DISPSEL信号置高,驱动1.8寸串行彩色液晶屏使能同时点亮背光,DISP2~ DISP_5分别对应RESET、D/C、SDA、SCK管脚,最后FPGA驱动1.8寸液晶屏完成屏显示控制即可。

液晶屏驱动设计

要驱动液晶屏需要先了解液晶屏的驱动流程,可以从液晶屏驱动芯片ST7735S的芯片手册上获取,也可以到网上找找有没有别人使用同类液晶屏的案例,或者向卖方问问有没有相关资料提供,这里我们找到了一个用51单片机驱动的程序例程,例程仅供参考,需要根据例程中的配置到芯片手册中查找确认,不可以直接套用。

首先完成液晶屏初始化操作,51程序流程如下:

void ST7735_LAIBAO177_INITIAL () { //-----------ST7735R Reset Sequence----------------// RES =1; delay (1); //Delay 1ms RES =0; delay (1); //Delay 1ms RES =1; delay (120); //Delay 120ms //----------End ST7735R Reset Sequence ------------// LCD_WriteCommand(0x11); //Sleep out delay(120); //Delay 120ms //---------ST7735S Frame Rate-------------------// LCD_WriteCommand(0xB1); LCD_WriteData(0x05); LCD_WriteData(0x3C); LCD_WriteData(0x3C); LCD_WriteCommand(0xB2); LCD_WriteData(0x05); LCD_WriteData(0x3C); LCD_WriteData(0x3C); LCD_WriteCommand(0xB3); LCD_WriteData(0x05); LCD_WriteData(0x3C); LCD_WriteData(0x3C); LCD_WriteData(0x05); LCD_WriteData(0x3C); LCD_WriteData(0x3C); //-----------End ST7735S Frame Rate---------------// LCD_WriteCommand(0xB4); //Dot inversion LCD_WriteData(0x03); //-----------ST7735S Power Sequence---------------// LCD_WriteCommand(0xC0); LCD_WriteData(0x28); LCD_WriteData(0x08); LCD_WriteData(0x04); LCD_WriteCommand(0xC1); LCD_WriteData(0XC0); LCD_WriteCommand(0xC2); LCD_WriteData(0x0D); LCD_WriteData(0x00); LCD_WriteCommand(0xC3); LCD_WriteData(0x8D); LCD_WriteData(0x2A); LCD_WriteCommand(0xC4); LCD_WriteData(0x8D); LCD_WriteData(0xEE); //----------End ST7735S Power Sequence----------// LCD_WriteCommand(0xC5); //VCOM LCD_WriteData(0x18); //1a LCD_WriteCommand(0x36); //MX, MY, RGB mode LCD_WriteData(0xC0); //-----------ST7735S Gamma Sequence-----------// LCD_WriteCommand(0xE0); LCD_WriteData(0x04); LCD_WriteData(0x22); LCD_WriteData(0x07); LCD_WriteData(0x0A); LCD_WriteData(0x2E); LCD_WriteData(0x30); LCD_WriteData(0x25); LCD_WriteData(0x2A); LCD_WriteData(0x28); LCD_WriteData(0x26); LCD_WriteData(0x2E); LCD_WriteData(0x3A); LCD_WriteData(0x00); LCD_WriteData(0x01); LCD_WriteData(0x03); LCD_WriteData(0x13); LCD_WriteCommand(0xE1); LCD_WriteData(0x04); LCD_WriteData(0x16); LCD_WriteData(0x06); LCD_WriteData(0x0D); LCD_WriteData(0x2D); LCD_WriteData(0x26); LCD_WriteData(0x23); LCD_WriteData(0x27); LCD_WriteData(0x27); LCD_WriteData(0x25); LCD_WriteData(0x2D); LCD_WriteData(0x3B); LCD_WriteData(0x00); LCD_WriteData(0x01); LCD_WriteData(0x04); LCD_WriteData(0x13); //------------End ST7735S Gamma Sequence----------// LCD_WriteCommand(0x3A); //65k mode LCD_WriteData(0x05); LCD_WriteCommand(0x29); //Display on }

创建存储器,将初始化过程中写的所有指令和数据存储,同时存储的还有指令或数据标志,例如初始化第1条指令为8'h11,我们增加最高位1‘b0组成9位位宽数据。存储器部分指令和数据如下:

initial begin //LCD初始化的命令及数据 reg_init[ 0] = {1'b0,8'h11}; //最高位为0,表示低8位为指令 reg_init[ 1] = {1'b0,8'hb1}; reg_init[ 2] = {1'b1,8'h05}; //最高位为1,表示低8位为数据 reg_init[ 3] = {1'b1,8'h3c}; reg_init[ 4] = {1'b1,8'h3c};

从51例程中可以看到,整个初始化过程都在给液晶屏写指令或数据,通过查看写指令或写数据的时序发现,唯一不同的就是对A0(对应底板液晶屏模块中的D/C信号)的控制,程序实现如下:

void LCD_WriteXXX(uint dat) { int i; A0=0; //写指令,如果写数据 A0=1; CSB=0; //液晶屏使能 for(i=0;i=LCD_W) begin //当一个数据(一行屏幕)写完后, x_cnt


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3